package com.jiangjiang.eshop.inventory.async;


import java.util.List;

/**
 * 离线存储管理组件接口
 */
public interface OfflineStorageManager {

    /**
     * 离线存储库存更新消息
     * @param message 库存更新消息
     * @throws Exception
     */
    void store(StockUpdateMessage message) throws Exception;

    /**
     * 获取离线存储标识
     * @return
     */
     Boolean getOffline();

    /**
     * 设置离线存储标识
     * @param offline 离线标志
     */
     void setOffline(Boolean offline);

    /**
     * 获取迭代器
     * @return 迭代器
     * @throws Exception
     */
    OfflineStorageIterator iterator() throws Exception;

    /**
     * 批量删除库存更新消息
     * @param messages
     */
    void removeByBatch(List<StockUpdateMessage> messages);
}
